package com.mydomain.Bodega;
// Generated 09-oct-2009 21:00:47 by Hibernate Tools 3.2.2.GA

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

/**
 * InvUnidadMedida generated by hbm2java
 */
@Entity
@Table(name = "inv_unidad_medida", schema = "public")
public class InvUnidadMedida implements java.io.Serializable {

	private long undCodigo;
	private Integer depCodigo;
	private String undNombre;
	private String undDescripcion;
	private Set<AuxInvItem> auxInvItems = new HashSet<AuxInvItem>(0);
	private Set<InvItemStock> invItemStocks = new HashSet<InvItemStock>(0);

	public InvUnidadMedida() {
	}

	public InvUnidadMedida(long undCodigo) {
		this.undCodigo = undCodigo;
	}
	public InvUnidadMedida(long undCodigo, Integer depCodigo, String undNombre,
			String undDescripcion, Set<AuxInvItem> auxInvItems,
			Set<InvItemStock> invItemStocks) {
		this.undCodigo = undCodigo;
		this.depCodigo = depCodigo;
		this.undNombre = undNombre;
		this.undDescripcion = undDescripcion;
		this.auxInvItems = auxInvItems;
		this.invItemStocks = invItemStocks;
	}

	@Id
	@Column(name = "und_codigo", unique = true, nullable = false, precision = 10, scale = 0)
	@NotNull
	@GeneratedValue
	public long getUndCodigo() {
		return this.undCodigo;
	}

	public void setUndCodigo(long undCodigo) {
		this.undCodigo = undCodigo;
	}

	@Column(name = "dep_codigo", precision = 5, scale = 0)
	public Integer getDepCodigo() {
		return this.depCodigo;
	}

	public void setDepCodigo(Integer depCodigo) {
		this.depCodigo = depCodigo;
	}

	@Column(name = "und_nombre", length = 50)
	@Length(max = 50)
	public String getUndNombre() {
		return this.undNombre;
	}

	public void setUndNombre(String undNombre) {
		this.undNombre = undNombre;
	}

	@Column(name = "und_descripcion", length = 100)
	@Length(max = 100)
	public String getUndDescripcion() {
		return this.undDescripcion;
	}

	public void setUndDescripcion(String undDescripcion) {
		this.undDescripcion = undDescripcion;
	}
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "invUnidadMedida")
	public Set<AuxInvItem> getAuxInvItems() {
		return this.auxInvItems;
	}

	public void setAuxInvItems(Set<AuxInvItem> auxInvItems) {
		this.auxInvItems = auxInvItems;
	}
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "invUnidadMedida")
	public Set<InvItemStock> getInvItemStocks() {
		return this.invItemStocks;
	}

	public void setInvItemStocks(Set<InvItemStock> invItemStocks) {
		this.invItemStocks = invItemStocks;
	}

}
